import os

if __name__ == '__main__':
    # 加载Django项目的配置信息,同manage.py文件第一行
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hw2_24.settings")
    # 导入Django，并启动Django项目
    import django

    django.setup()
from app01 import models

# # 1. 查找所有书名里包含金老板的书
# print(models.Book.objects.filter(title__contains='金老板'))
# # 2. 查找出版日期是2018年的书
# print(models.Book.objects.filter(publish_date__year=2018))
# # 3. 查找出版日期是2017年的书名
# print(models.Book.objects.filter(publish_date__year=2017).values('title'))
# # 4. 查找价格大于10元的书
# print(models.Book.objects.filter(price__gt=10))
# # 5. 查找价格大于10元的书名和价格
# print(models.Book.objects.filter(price__gt=10).values_list('title', 'price'))
# # 6. 查找memo字段是空的书
# print(models.Book.objects.filter(memo__isnull=True))
# # 7. 查找在北京的出版社
# print(models.Publisher.objects.filter(city='北京'))
# # 8. 查找名字以沙河开头的出版社
# print(models.Publisher.objects.filter(name__startswith='沙河'))
# # 9. 查找“沙河出版社”出版的所有书籍
# k=models.Publisher.objects.filter(name='沙河出版社')
# for i in k:
#     print(i.book_set.all())
# 10. 查找每个出版社出版价格最高的书籍价格

# 11. 查找每个出版社的名字以及出的书籍数量
#
# 12. 查找作者名字里面带“小”字的作者
# print(models.Author.objects.filter(name__contains='小'))
# 13. 查找年龄大于30岁的作者
# print(models.Author.objects.filter(age__gt=30))
# 14. 查找手机号是155开头的作者
# print(models.Author.objects.filter(phone__startswith=155))
# 15. 查找手机号是155开头的作者的姓名和年龄
# print(models.Author.objects.filter(phone__startswith=155).values('name', 'age'))
# 16. 查找每个作者写的价格最高的书籍价格

# 17. 查找每个作者的姓名以及出的书籍数量
#
# 18. 查找书名是“跟金老板学开车”的书的出版社
# print(models.Book.objects.get(title='跟金老板学开车').publisher)
# 19. 查找书名是“跟金老板学开车”的书的出版社所在的城市
# print(models.Book.objects.filter(title='跟金老板学开车').values('publisher__city'))
# 20. 查找书名是“跟金老板学开车”的书的出版社的名称
# print(models.Book.objects.filter(title='跟金老板学开车').values('publisher__name'))
# 21. 查找书名是“跟金老板学开车”的书的出版社出版的其他书籍的名字和价格
# print(models.Book.objects.get(title='跟金老板学开车').publisher.book_set.exclude(title='跟金老板学开车'))
# 22. 查找书名是“跟金老板学开车”的书的所有作者
# print(models.Book.objects.filter(title='跟金老板学开车').values('author__name'))
# 23. 查找书名是“跟金老板学开车”的书的作者的年龄
# print(models.Book.objects.filter(title='跟金老板学开车').values('author__age'))
# 24. 查找书名是“跟金老板学开车”的书的作者的手机号码
# print(models.Book.objects.filter(title='跟金老板学开车').values('author__phone'))
# 25. 查找书名是“跟金老板学开车”的书的作者们的姓名以及出版的所有书籍名称和价钱
# print(models.Book.objects.filter(title='跟金老板学开车').values('author__name', 'author__book__price'))
